package com.java.mytest_ysy.b.demo2;

import java.util.*;

/*某学校Java学科分为基础班和就业班:
Java基础班:
  001	李晨
  002	范冰冰
Java就业班:
  001	马云
  002	马化腾
使用HashMap嵌套HashMap方式完成存储数据,并遍历出所有的学生
1.每个学生的学号和姓名就是一个键值对,可以放在一个map集合中
2.Java基础班对应着存放学号和姓名的map集合
3.先遍历出外面的Map集合,拿到内部的Map集合
4.再遍历内部的Map和,将具体的key和value获取出来
*/
public class Test {
    public static void main(String[] args) {
        //创建班级集合
        Map<String,Map<String,String>>  allClass=new HashMap<>();
        Map<String,String>  basicClass=new HashMap<>();
        Map<String,String>  jobClass=new HashMap<>();
        basicClass.put("001","小明");
        basicClass.put("002","小红");
        jobClass.put("001","小白");
        jobClass.put("002","小青");
        allClass.put("Java基础班",basicClass);
        allClass.put("Java就业班",jobClass);
        //遍历
        //allClass.forEach((k,v)-> System.out.println(k+"\n"+v));
        //首先拿到每个班级名
        Set<String> classes=allClass.keySet();
        for (String aClass : classes) {
            System.out.println(aClass);
            //根据班级名得到班级里的学生
            Map<String, String> classStudents = allClass.get(aClass);
            //得到学生学号，来拿姓名
            Set<String> allId = classStudents.keySet();
            //根据学号，找名字
            for (String Id : allId) {
                String name = classStudents.get(Id);
                System.out.println("\t" + Id + " -- " + name);
            }
        }

    }
}
